#ifndef MAINDRAWINGWIDGET_H
#define MAINDRAWINGWIDGET_H

#include <QWidget>
#include <vector>
//Include library header files
#include "lineshare.h"
#include "stroke.h"

class MainDrawingWidget : public QWidget
{
    Q_OBJECT
public:
    //Widget Constructor
    explicit MainDrawingWidget(QWidget *parent = 0);
    //Seting up the Library LineShare object
    void setLineShare( LineShare *lineshare);
    //Clearing pen strokes from widget
    void clear();

protected:
  //Mouse is moving
  void mouseMoveEvent(QMouseEvent *);
  //Mouse button has been clicked
  void mousePressEvent(QMouseEvent *);
  //Mouse button has been released
  void mouseReleaseEvent(QMouseEvent * e);
  //Paint event occured usually a repaint()
  void paintEvent(QPaintEvent *);

private:
  std::vector<std::vector<QPoint> > m_points;
  QColor m_Color;
  int m_Width;
  LineShare *m_LineShare;

signals:

public slots:
  //New pen settings from MainWindow
  void penChanged(QColor, int);

};

#endif // MAINDRAWINGWIDGET_H
